<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1-20130512"/>
<title>3D Cell: glwidget.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">3D Cell
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1-20130512 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">glwidget.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="glwidget_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef GLWIDGET_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GLWIDGET_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#if defined(WIN32) || defined(linux)</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #include &lt;QtOpenGL/qgl.h&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">    #include &lt;GL/glu.h&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#elif defined(__APPLE__)</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #include &lt;OpenGL/gl.h&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">    #include &lt;OpenGl/glu.h&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;QGLWidget&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;QMouseEvent&gt;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;QKeyEvent&gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;QTimer&gt;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;math.h&gt;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="common_8h.html">common.h</a>&quot;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;tinyXML/tinyxml.h&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="cellobject_8h.html">cellobject.h</a>&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="cellmath_8h.html">cellmath.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="intersectionplane_8h.html">intersectionplane.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="csg_8h.html">csg.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="glwidget_8h.html#a1daf785e3f68d293c7caa1c756d5cb74">   25</a></span>&#160;<span class="preprocessor">#define pi 3.141592653589793238462643383279</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">using namespace </span>std;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="class_g_l_widget.html">   34</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_l_widget.html" title="A QGLWidget class. ">GLWidget</a> : <span class="keyword">public</span> QGLWidget</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    Q_OBJECT</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="class_g_l_widget.html" title="A QGLWidget class. ">GLWidget</a>(QWidget *parent = 0);</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    ~<a class="code" href="class_g_l_widget.html" title="A QGLWidget class. ">GLWidget</a>();</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keywordtype">void</span> newScene();</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a98863938c64fd1d2345b8a01478f4e65">   49</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a98863938c64fd1d2345b8a01478f4e65" title="Set the selected object. ">setSelectObject</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> o) {selectObject=o;}</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#aded37100a1a1b8d10287faa69362293c">   52</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#aded37100a1a1b8d10287faa69362293c" title="Set the seconed selected object. ">setSecondSelectObject</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> o) {secondSelectObject=o;}</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#aed178be2e475b749aad848090b02446e">   54</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#aed178be2e475b749aad848090b02446e">setKeyValue</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> k) {keyValue = k;}</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a067aaf693fc00e9c85b6b20d3ec5eaaa">   67</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a067aaf693fc00e9c85b6b20d3ec5eaaa" title="Change the mode, call this function when click transform tool group or camera tool group in main wind...">setMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {mode = m;}</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ad3b8e9e3b95716cb5a5539a14a6923bd">   70</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ad3b8e9e3b95716cb5a5539a14a6923bd" title="Return the mode at the moment. ">getMode</a>() {<span class="keywordflow">return</span> mode;}</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a9478c6b03749ed26d1f733550b5e22ce">   84</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a9478c6b03749ed26d1f733550b5e22ce" title="Record the mode at the moment, and change mode. ">setTmpMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {tmpMode = mode; mode = m;}</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a7b247ea5366953f00582c0389238a9df">   87</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a7b247ea5366953f00582c0389238a9df" title="Reset mode to be previous mode. ">resetTmpMode</a>() {mode = tmpMode;}</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a6fe248e71b1855d9539720c706accda1">   99</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a6fe248e71b1855d9539720c706accda1" title="Change the view mode, call this function when click view tool group in main window. ">setViewMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {viewMode = m;}</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a01a98c96609c5441761eb3fdd47851e4">  108</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a01a98c96609c5441761eb3fdd47851e4" title="Change the display mode, call this function when click display tool group in main window...">setDisplayMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {displayMode = m;}</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a9a3bad77a33b51caa3d59af67a08c409">  111</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a9a3bad77a33b51caa3d59af67a08c409" title="Change the paint mode, call this function when click paint tool group in main window. ">setPaintMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {paintMode = m;}</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a2225f2fc17e9f99411581a5c9905c384">  120</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a2225f2fc17e9f99411581a5c9905c384" title="Change the select mode, call this function when click select tool group in adit mesh widget...">setSelectMode</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> m) {selectMode = m;}</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a15aca1701de489f8e9f76abbae8da44e">  123</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a15aca1701de489f8e9f76abbae8da44e" title="Reture the select mode at the moment. ">getSelectMode</a>() {<span class="keywordflow">return</span> selectMode;}</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ade4af075a1b489b548ebe19ec008148d">  126</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#ade4af075a1b489b548ebe19ec008148d" title="Change the feather under mesh edit mode. ">setEditFeather</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> t) {editFeather = t/100.0;}</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">void</span> reset();</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordtype">void</span> addGlandular(<span class="keywordtype">int</span> num, vector&lt;double&gt; vec, vector&lt;double&gt; nor);</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a2999861178ea6f05f21585724c64f951">  143</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a2999861178ea6f05f21585724c64f951" title="Get the selected object at the moment. ">selectedObject</a>() {<span class="keywordflow">return</span> selectObject;}</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a4cb0263e694fe62b0611b01b3196c1cb">  149</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a4cb0263e694fe62b0611b01b3196c1cb" title="Get the seconed selected object at the moment. ">secondSelectedObject</a>() {<span class="keywordflow">return</span> secondSelectObject;}</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a69267306e13fa430b2955220dcc7393a">  155</a></span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a>* <a class="code" href="class_g_l_widget.html#a69267306e13fa430b2955220dcc7393a" title="Get the basement membrance. ">getGlandular</a>() {<span class="keywordflow">return</span> glandular;}</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a8673c7dc6cf5e15c072941d51ac5c7d1">  158</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#a8673c7dc6cf5e15c072941d51ac5c7d1" title="Set the object at indexth position. ">setObject</a>(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *_object, <span class="keywordtype">int</span> index) {objects[index] = _object;}</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#abf0fd4270c577c42854cc156f7197ff3">  161</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#abf0fd4270c577c42854cc156f7197ff3" title="Set the Glandular. ">setGlandular</a>(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *_glandular) {glandular = _glandular;}</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordtype">void</span> deleteSelect();</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addSphere();</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addCylinder();</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addOpenCylinder();</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addCube();</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addPlane();</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *addCone();</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordtype">void</span> addObject(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *obj);</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    <span class="keywordtype">void</span> addObject(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *obj, <span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a4e756b495964c225098d9df87831ac64">  191</a></span>&#160;    <a class="code" href="class_intersection_plane.html" title="A Intersection Plane class. ">IntersectionPlane</a> *<a class="code" href="class_g_l_widget.html#a4e756b495964c225098d9df87831ac64" title="Intersection plane. ">plane</a>;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keywordtype">void</span> ObjectToCSG(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *a, <a class="code" href="class_c_s_g.html" title="A Constructive Solid Geometry (CSG) class. ">CSG</a> *b);</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <span class="keywordtype">void</span> CSGToObject(<a class="code" href="class_c_s_g.html" title="A Constructive Solid Geometry (CSG) class. ">CSG</a> *a, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *b);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordtype">void</span> Union(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *a, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *b, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *result);</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keywordtype">void</span> Intersect(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *a, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *b, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *result);</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordtype">void</span> Subtract(<a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *a, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *b, <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *result);</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <span class="keywordtype">void</span> Union();</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="keywordtype">void</span> Intersect();</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keywordtype">void</span> Subtract();</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordtype">void</span> test();</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordtype">void</span> deleteSelectedObject();</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <span class="keywordtype">void</span> deleteObject(<span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ab1497ca12a034a18fa76170a93fddc40">  226</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_g_l_widget.html#ab1497ca12a034a18fa76170a93fddc40" title="Set the copied object id. ">setCopy</a>(<span class="keywordtype">int</span> m) {copyObject = m;}</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordtype">void</span> pasteObject();</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a4d2a57f03f73490b81c4d6494f75ac4b">  232</a></span>&#160;    vector&lt;CellObject*&gt; <a class="code" href="class_g_l_widget.html#a4d2a57f03f73490b81c4d6494f75ac4b" title="Return the objects vector. ">getObjects</a>() {<span class="keywordflow">return</span> objects;}</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a6c5ac108e729291abe12bda15d6debe2">  235</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a6c5ac108e729291abe12bda15d6debe2" title="Return the number of spheres. ">getSphereNum</a>() {<span class="keywordflow">return</span> sphereNum;}</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a0649a85a7848138556ade3357360f0d8">  238</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a0649a85a7848138556ade3357360f0d8" title="Return the number of cylinders. ">getCylinderNum</a>() {<span class="keywordflow">return</span> cylinderNum;}</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ade1a2469fee074fe54954d3d06086bbb">  241</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ade1a2469fee074fe54954d3d06086bbb" title="Return the number of cubes. ">getCubeNum</a>() {<span class="keywordflow">return</span> cubeNum;}</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keywordtype">void</span> myMousePressEvent(QMouseEvent *event);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    <span class="keywordtype">void</span> myMouseReleaseEvent(QMouseEvent *event);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordtype">void</span> myMouseMoveEvent(QMouseEvent *event);</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="keyword">public</span> slots:</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordtype">void</span> setTheta(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordtype">void</span> setPhi(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordtype">void</span> setR(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordtype">void</span> setTranslateX(<span class="keywordtype">double</span> length);</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keywordtype">void</span> setTranslateY(<span class="keywordtype">double</span> length);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keywordtype">void</span> setTranslateZ(<span class="keywordtype">double</span> length);</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordtype">void</span> setRotateX(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordtype">void</span> setRotateY(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordtype">void</span> setRotateZ(<span class="keywordtype">double</span> angle);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="keywordtype">void</span> setScaleX(<span class="keywordtype">double</span> s);</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordtype">void</span> setScaleY(<span class="keywordtype">double</span> s);</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordtype">void</span> setScaleZ(<span class="keywordtype">double</span> s);</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keywordtype">void</span> setTranslateX(QString l);</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keywordtype">void</span> setTranslateY(QString l);</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keywordtype">void</span> setTranslateZ(QString l);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordtype">void</span> setRotateX(QString l);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordtype">void</span> setRotateY(QString l);</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordtype">void</span> setRotateZ(QString l);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordtype">void</span> setScaleX(QString l);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordtype">void</span> setScaleY(QString l);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordtype">void</span> setScaleZ(QString l);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">void</span> setEditFeather(QString l);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">void</span> setInputType();</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="keywordtype">void</span> setSphereRadius(QString l);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordtype">void</span> setSphereHeightSeg(QString l);</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keywordtype">void</span> setSphereAxisSeg(QString l);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordtype">void</span> setCylinderRadius(QString l);</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordtype">void</span> setCylinderHeight(QString l);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    <span class="keywordtype">void</span> setCylinderHeightSeg(QString l);</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <span class="keywordtype">void</span> setCylinderAxisSeg(QString l);</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="keywordtype">void</span> setPlaneWidth(QString l);</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    <span class="keywordtype">void</span> setPlaneDepth(QString l);</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordtype">void</span> setPlaneWidthSeg(QString l);</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    <span class="keywordtype">void</span> setPlaneDepthSeg(QString l);</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <span class="keywordtype">void</span> setCubeWidth(QString l);</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordtype">void</span> setCubeHeight(QString l);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    <span class="keywordtype">void</span> setCubeDepth(QString l);</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    <span class="keywordtype">void</span> setCubeWidthSeg(QString l);</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keywordtype">void</span> setCubeHeightSeg(QString l);</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <span class="keywordtype">void</span> setCubeDepthSeg(QString l);</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;signals:</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keywordtype">void</span> xTanslationChanged(QString length);</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;    <span class="keywordtype">void</span> yTanslationChanged(QString length);</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="keywordtype">void</span> zTanslationChanged(QString length);</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <span class="keywordtype">void</span> xRotationChanged(QString angle);</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordtype">void</span> yRotationChanged(QString angle);</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordtype">void</span> zRotationChanged(QString angle);</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordtype">void</span> xScalationChanged(QString s);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordtype">void</span> yScalationChanged(QString s);</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <span class="keywordtype">void</span> zScalationChanged(QString s);</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <span class="keywordtype">void</span> inputTypeChanged(<span class="keywordtype">int</span> s);</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;    <span class="keywordtype">void</span> initializeGL();</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordtype">void</span> paintGL();</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    <span class="keywordtype">void</span> resizeGL(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <span class="keywordtype">void</span> wheelEvent(QWheelEvent *event);</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keywordtype">void</span> processHits(GLint hits, GLuint buffer[], <span class="keywordtype">int</span> flag);</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordtype">void</span> pick(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keywordtype">void</span> pickInFourView(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="keywordtype">void</span> pickTranslateAxis(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">void</span> pickRotateAxis(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keywordtype">void</span> pickScaleAxis(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordtype">void</span> pickEditPoint(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <span class="keywordtype">void</span> pickEditFace(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    <span class="keywordtype">void</span> pickPointsInArea(<span class="keywordtype">int</span> ax, <span class="keywordtype">int</span> ay, <span class="keywordtype">int</span> bx, <span class="keywordtype">int</span> by);</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keywordtype">void</span> pickFacesInArea(<span class="keywordtype">int</span> ax, <span class="keywordtype">int</span> ay, <span class="keywordtype">int</span> bx, <span class="keywordtype">int</span> by);</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keywordtype">void</span> drawEditMeshTranslateAxis(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, <span class="keywordtype">double</span> rx, <span class="keywordtype">double</span> ry, <span class="keywordtype">double</span> rz);</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <span class="keywordtype">void</span> pickEditMeshTranslateAxis(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> tx, <span class="keywordtype">double</span> ty, <span class="keywordtype">double</span> tz, <span class="keywordtype">double</span> rx, <span class="keywordtype">double</span> ry, <span class="keywordtype">double</span> rz);</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <span class="keywordtype">void</span> drawAxis();</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordtype">void</span> drawWire();</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="keywordtype">void</span> drawBackground();</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="keywordtype">void</span> drawGlandular();</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keywordtype">void</span> drawSelectArea(<span class="keywordtype">int</span> ax, <span class="keywordtype">int</span> ay, <span class="keywordtype">int</span> bx, <span class="keywordtype">int</span> by);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="keywordtype">void</span> drawTranslateAxis(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span> objectId);</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keywordtype">void</span> drawRotateAxis(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span> objectId);</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keywordtype">void</span> drawScaleAxis(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z, <span class="keywordtype">int</span> objectId);</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keywordtype">void</span> drawSolidCube(<span class="keywordtype">double</span> length);</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keywordtype">void</span> drawSolidCone(<span class="keywordtype">double</span> height, <span class="keywordtype">double</span> radius);</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ad51dff454a951183e5874766f17b4bc4">  485</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#ad51dff454a951183e5874766f17b4bc4" title="The camera angel at latitude under perspective view mode.. ">Theta</a>;</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
<div class="line"><a name="l00488"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a50ed158ed7a2aa8fc804a8de0e4f36a4">  488</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#a50ed158ed7a2aa8fc804a8de0e4f36a4" title="The camera angel at longitude under perspective view mode.. ">Phi</a>;</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a33be362796ae570234a5bd4755efe4c5">  491</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#a33be362796ae570234a5bd4755efe4c5" title="The distance from camera to (0, 0, 0) under perspective view mode. ">R</a>;</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div>
<div class="line"><a name="l00494"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a7830238300ca25ab74bb070afdadc771">  494</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#a7830238300ca25ab74bb070afdadc771" title="The distance from camera to (0, 0, 0) under top view mode. ">topR</a>;</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ae182ce2e1bb81bd11c8fc21c4b68db08">  497</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#ae182ce2e1bb81bd11c8fc21c4b68db08" title="The distance from camera to (0, 0, 0) under front view mode. ">frontR</a>;</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
<div class="line"><a name="l00500"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#adae4d06a031d6d4d32b0f84608849434">  500</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#adae4d06a031d6d4d32b0f84608849434" title="The distance from camera to (0, 0, 0) under right view mode. ">rightR</a>;</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div>
<div class="line"><a name="l00503"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a7059e265a227d820221e8c9baedf942f">  503</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#a7059e265a227d820221e8c9baedf942f" title="The distance from camera to (0, 0, 0) under plane-based view mode. ">planeR</a>;</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a5de8df681bd2151f9b98a84028a5abed">  505</a></span>&#160;    <span class="keywordtype">double</span> offsetX, <a class="code" href="class_g_l_widget.html#a5de8df681bd2151f9b98a84028a5abed">topOffsetX</a>, frontOffsetX, rightOffsetX, planeOffsetX;</div>
<div class="line"><a name="l00506"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ad5c1cab17406a11adec739b932e4ba6a">  506</a></span>&#160;    <span class="keywordtype">double</span> offsetY, <a class="code" href="class_g_l_widget.html#ad5c1cab17406a11adec739b932e4ba6a">topOffsetY</a>, frontOffsetY, rightOffsetY, planeOffsetY;</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div>
<div class="line"><a name="l00509"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a29d90308b20a67e54457c66e22f0014d">  509</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a29d90308b20a67e54457c66e22f0014d" title="The key value. ">keyValue</a>;</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;</div>
<div class="line"><a name="l00523"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ae6797d28507b8c27bb18b0e02b1a824e">  523</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ae6797d28507b8c27bb18b0e02b1a824e" title="Determine the mouse interaction. ">mode</a>;</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div>
<div class="line"><a name="l00537"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ab70c39bda4c5a97aac5bb3d32814044f">  537</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ab70c39bda4c5a97aac5bb3d32814044f" title="Record the previous mode. ">tmpMode</a>;</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div>
<div class="line"><a name="l00549"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ac40074e2de80bfae3e2c0434a30b5949">  549</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ac40074e2de80bfae3e2c0434a30b5949" title="Determine the view mode. ">viewMode</a>;</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div>
<div class="line"><a name="l00558"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a354e4fd124a8f522ac52ecbb1f1a6d3c">  558</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a354e4fd124a8f522ac52ecbb1f1a6d3c" title="Determine the display mode. ">displayMode</a>;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;</div>
<div class="line"><a name="l00561"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a9b7f9df7a8652bc43f7c186d301e90a3">  561</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a9b7f9df7a8652bc43f7c186d301e90a3" title="Determine the paint mode. ">paintMode</a>;</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;</div>
<div class="line"><a name="l00570"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a3497ed5cc2918c51640f08d3e5be6763">  570</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a3497ed5cc2918c51640f08d3e5be6763" title="Determine the select mode. ">selectMode</a>;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div>
<div class="line"><a name="l00573"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a4b215b2bafba14dafe139bc0e342bd9d">  573</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a4b215b2bafba14dafe139bc0e342bd9d" title="width of the OpenGL window. ">windowWidth</a>;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div>
<div class="line"><a name="l00576"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a5836a4a1ab022883c9d0cf63974dd590">  576</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a5836a4a1ab022883c9d0cf63974dd590" title="height of the OpenGL window. ">windowHeight</a>;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;</div>
<div class="line"><a name="l00579"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a969cc529aea12fbbbfce020c77b78d4c">  579</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a969cc529aea12fbbbfce020c77b78d4c" title="Selected object at this moment. ">selectObject</a>;</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div>
<div class="line"><a name="l00582"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a84c1efb18f4ab48421853b42334d0264">  582</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a84c1efb18f4ab48421853b42334d0264" title="The second selected at this moment. ">secondSelectObject</a>;</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div>
<div class="line"><a name="l00585"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a80f53473fb9525cf0b3183f7267a3203">  585</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a80f53473fb9525cf0b3183f7267a3203" title="Selected translate axis at this moment under translate mode. ">selectTranslateAxis</a>;</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;</div>
<div class="line"><a name="l00588"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#aeab65c0e299733274c2a29b7fa41304a">  588</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#aeab65c0e299733274c2a29b7fa41304a" title="Selected rotate axis at this moment under rotate mode. ">selectRotateAxis</a>;</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div>
<div class="line"><a name="l00591"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ad2491f4728723ec4509a42ccc00013e9">  591</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ad2491f4728723ec4509a42ccc00013e9" title="Selected scale axis at this moment under scale mode. ">selectScaleAxis</a>;</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;</div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#acba9542e1ba97ef5e3b8fa0013ed1607">  594</a></span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *<a class="code" href="class_g_l_widget.html#acba9542e1ba97ef5e3b8fa0013ed1607" title="Basement membrance object. ">glandular</a>;</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;</div>
<div class="line"><a name="l00597"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a6a50403af4bc091adf0dbe20c490e4eb">  597</a></span>&#160;    vector&lt;CellObject*&gt; <a class="code" href="class_g_l_widget.html#a6a50403af4bc091adf0dbe20c490e4eb" title="Store all the user constructed objects. ">objects</a>;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;</div>
<div class="line"><a name="l00600"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a9fb7fece62b92f7a0bb4167ea1e05c28">  600</a></span>&#160;    QPoint <a class="code" href="class_g_l_widget.html#a9fb7fece62b92f7a0bb4167ea1e05c28" title="Mouse click position at last time. ">lastPos</a>;</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#aad030e41be208a60fa57b96afcbad685">  603</a></span>&#160;    QPoint <a class="code" href="class_g_l_widget.html#aad030e41be208a60fa57b96afcbad685" title="Mouse click position at this time. ">thisPos</a>;</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;</div>
<div class="line"><a name="l00606"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#abeaee9d4fb3e0df167908700d110638a">  606</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_g_l_widget.html#abeaee9d4fb3e0df167908700d110638a" title="Determine if draw the selected area. ">isAreaSelected</a>;</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#aa7038cf26533086753646f3bd1762ad9">  609</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_g_l_widget.html#aa7038cf26533086753646f3bd1762ad9" title="Determine if edit mesh with fearth. ">editFeather</a>;</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div>
<div class="line"><a name="l00612"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#adc5a9364e846d017e8b73b87771af995">  612</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#adc5a9364e846d017e8b73b87771af995" title="The id of the copy object. ">copyObject</a>;</div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;</div>
<div class="line"><a name="l00615"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a163191dbf7a1949f9485753da2353850">  615</a></span>&#160;    <a class="code" href="class_cell_object.html" title="A Cell Object class. ">CellObject</a> *<a class="code" href="class_g_l_widget.html#a163191dbf7a1949f9485753da2353850" title="The cut object. ">cutObject</a>;</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div>
<div class="line"><a name="l00618"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#ab7aa2170d8fea231627204e8ed256473">  618</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#ab7aa2170d8fea231627204e8ed256473" title="Record the number of spheres. ">sphereNum</a>;</div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;</div>
<div class="line"><a name="l00621"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a0ce1278ca9b4cbe3d313fcd0330fb39a">  621</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a0ce1278ca9b4cbe3d313fcd0330fb39a" title="Record the number of cylinders. ">cylinderNum</a>;</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div>
<div class="line"><a name="l00624"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a16729acdcb4b0c30cea1f9ab5f6e0786">  624</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a16729acdcb4b0c30cea1f9ab5f6e0786" title="Record the number of cubes. ">cubeNum</a>;</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div>
<div class="line"><a name="l00627"></a><span class="lineno"><a class="code" href="class_g_l_widget.html#a57f6f2c71ab6ccacf664e9ed1dca6cc8">  627</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_g_l_widget.html#a57f6f2c71ab6ccacf664e9ed1dca6cc8" title="Record the number of meshes. ">meshNum</a>;</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;};</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor">#endif // GLWIDGET_H</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jul 9 2013 15:49:57 for 3D Cell by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1-20130512
</small></address>
</body>
</html>
